home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1998 September
/
Macworld (1998-09).dmg
/
Shareware World
/
Info
/
For Developers
/
MacZoop 1.8.3
/
More Classes
/
Window Classes
/
ZTextWindow.h
< prev
Wrap
Text File
|
1998-07-09
|
3KB
|
111 lines
/*************************************************************************************************
*
*
* ObjectMacZapp -- a standard Mac OOP application template
*
*
*
* ZTextWindow.h -- a window that displays text files (uses TextEdit)
*
*
*
*
*
* © 1996, Graham Cox
*
*
*
*
*************************************************************************************************/
#pragma once
#ifndef __ZTEXTWINDOW__
#define __ZTEXTWINDOW__
#include "ZScroller.h"
#include <TextEdit.h>
/*
This is a scroller that displays text. It does this by using TextEdit. You can edit the text
if editable is true, and save a text file of the contents. It cannot open very big files
because of the TextEdit limitations.
*/
typedef enum
{
teFixedWidth,
teWindowWidth
}
TEWidthControl;
// set up streaming stuff:
DEFINECLASSID( ZTextWindow, 'ztxt' );
// class def:
class ZTextWindow : public ZScroller
{
protected:
TEHandle itsText;
Boolean isEditable;
short emSpace;
short emWidth;
TEWidthControl wControl;
public:
ZTextWindow( ZCommander* aBoss, const short windID, Boolean allowEditing = TRUE );
ZTextWindow();
~ZTextWindow();
virtual void InitZWindow();
virtual void DrawContent();
virtual void ClickContent( const Point mouse, const short modifiers);
virtual void Activate();
virtual void Deactivate();
virtual void SetSize( const short width, const short height);
virtual void Zoom( const short partCode );
virtual void Scroll( const short dH, const short dV );
virtual void Type( const char theChar, const short modifiers );
virtual void OpenFile( const OSType fType, Boolean isStationery = FALSE );
virtual void SaveFile();
virtual void Idle();
virtual void AdjustCursor( const Point mouse, const short modifiers );
virtual Boolean CanPasteType();
virtual void DoCut();
virtual void DoCopy();
virtual void DoPaste();
virtual void DoClear();
virtual void DoSelectAll();
virtual void HandleCommand( const long aCmd );
virtual void HandleCommand( const short menuID, const short itemID );
virtual void UpdateMenus();
virtual void SetWidthControl( TEWidthControl aCtl, short fixWidth = 255 );
virtual void SetSizeRect( const Rect& szRect );
virtual void TextEditClickLoop();
virtual void GetTextViewRect( Rect* r ) { GetContentRect( r ); };
inline TEHandle GetTextEditHandle() { return itsText; };
protected:
virtual void MakeTextEdit();
virtual void RecalText();
};
#define kTextFileTooBigErr 77
#define kMaxTextSize 32760
#endif